//判断是否为子树

class Solution3 {
    public boolean isSubtree(TreeNode root, TreeNode subRoot) {
        if(root==null&&subRoot==null){
            return true;
        }
        if(root==null&&subRoot!=null||root!=null&&subRoot==null){
            return false;
        }
        if(isSameTree(root,subRoot)){
            return  true;
        }
        return isSubtree(root.left,subRoot)||isSubtree(root.right,subRoot);

    }
   public boolean isSameTree(TreeNode p, TreeNode q) {//两颗树相同满足题目条件，是子树
        if(p==null&&q==null){
            return  true;
        }
        if(p==null&&q!=null){
            return false;
        }
           if(p!=null&&q==null)
           {
               return false;
           }
       
        
        if(p.val!=q.val){
            return false;
        }
        return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);

    }
}